Scope
Example 1
Block scope does not work with Javascript when using the var keyword.
if (true) {
var myVal = 'Hello World!!';
}
console.log(myVal);
This will print the myVal, even though the myVal is inside the block scope.
Example 2
Functional scope works with the var keyword.
function myMethod() {
var myVal = 'Hello World!!';
}
console.log(myVal);
Now the myVal is inside the functional scope. This is not accessible from the global lexical environment.
Example 3
To use this block scope, instead of using var keyword, we can use const or let keyword.
if (true) {
const myVal = 'Hello World!!';
}
console.log(myVal);
if (true) {
const myVal = 'Hello World!!';
}
console.log(myVal);
In the both example the JS engine will through the Reference Error.